Analysis module 3: Geographic differences in 16S microbiota composition RoVI study — 20 July, 2021

Sidebar

Sample summary

Taxon abundance profile

Alpha diversity

Longitudinal abundance plots

Beta diversity

Differential taxa

Longitudinal abundance comparisons

Session info

Sample summary

Input data: infant stools (BS1, BS2, BS3, and BS5) and maternal stool (MS1)

  • n samples = 2086
  • n taxa: genera = 502; variants = 6372
  • n taxa (infant): genera = 502; variants = 6372
  • n taxa (rarefied): genera = 461; variants = 4596
  • mean read count = 1.4312310^{5}, s.d. = 1.3611310^{5}

Statistical methods for mixed-effects models

  • Linear mixed-effects models fit with family ID as a random effect
  • Effect of country determined by comparing: (i) model with country/age vs (ii) model with age alone
  • Pairwise comparisons between countries (M vs I, U vs I, U vs M) corrected by FDR to control family error rate
  • OPV/IPV arms from India combined in primary comparison
  • Diversity in maternal samples compared by country via ANOVA with post-hoc Tukey test

Taxon abundance profile

Column

Genus-level

India - infant

N: 1147

Malawi - infant

N: 285

UK - infant

N: 226

India - maternal

Malawi - maternal

UK - maternal

RSV-level

India - infant

Malawi - infant

UK - infant

India - maternal

Malawi - maternal

UK - maternal

Alpha diversity

Column

Genus-level

India vs Malawi vs UK - Shannon

India vs Malawi vs UK - richness

India vs Malawi vs UK with cross-sectional p values - Shannon

India vs Malawi vs UK with cross-sectional p values - richness

N by timepoint

     
      IND MLW  UK
  BS1 289  81  59
  BS2 287  75  59
  BS3 289  68  53
  BS5 282  61  55

p values, longitudinal mixed-effects models (FDR-adjusted, 4 decimal places)

        Shannon Richness
MLW-IND  0.0000   0.0000
UK-IND   0.2262   0.4374
UK-MLW   0.0300   0.0000

p values, India (OPV) vs India (IPV)

                        Shannon Richness
India (OPV)-India (IPV)  0.4652   0.3768

p values, cross-sectional models

week of life 1
        Shannon Richness
MLW-IND  0.0001   0.0000
UK-IND   0.4844   0.6809
UK-MLW   0.0002   0.0000
week of life 4
        Shannon Richness
MLW-IND  0.0002   0.0000
UK-IND   0.0661   0.1164
UK-MLW   0.4646   0.0488
week of life 6
        Shannon Richness
MLW-IND  0.2354   0.0000
UK-IND   0.2310   0.0503
UK-MLW   0.9894   0.2179
week of life 10
        Shannon Richness
MLW-IND  0.1013   0.0001
UK-IND   0.2347   0.4217
UK-MLW   0.9614   0.0690

Maternal samples - Shannon

Maternal samples - richness

p values, India vs Malawi vs UK

        Shannon Richness
MLW-IND  0.9997   0.0625
UK-IND   0.0002   0.0002
UK-MLW   0.0026   0.0000

p values, India (OPV) vs India (IPV)

  Shannon Richness
1  0.6225   0.7129

Longitudinal abundance plots

Infants - India vs UK vs Malawi

N by timepoint

     
      India Malawi  UK
  BS1   289     81  59
  BS2   287     75  59
  BS3   289     68  53
  BS5   282     61  55
  MS1   288     83  57

Infants - India (OPV) vs India (IPV)

Maternal samples (with genera corresponding to infant plots included)

Beta diversity

Column

PERMANOVA - unweighted

Inter-individual differences among all infant samples
Permutation: free
Number of permutations: 999

Terms added sequentially (first to last)

            Df SumsOfSqs  MeanSqs F.Model      R2 Pr(>F)    
family_ID  473    146.38 0.309479  3.4394 0.57877  0.001 ***
Residuals 1184    106.54 0.089982         0.42123           
Total     1657    252.92                  1.00000           
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Differences by country stratified by age
             week         R2     p   n
1  week of life 1 0.08963047 0.001 429
2  week of life 4 0.07156166 0.001 421
3  week of life 6 0.06425047 0.001 410
4 week of life 10 0.06603234 0.001 398
5          mother 0.16414628 0.001 428

Summary plot

PERMANOVA - weighted

Inter-individual differences among all infant samples
Permutation: free
Number of permutations: 999

Terms added sequentially (first to last)

            Df SumsOfSqs MeanSqs F.Model     R2 Pr(>F)    
family_ID  473    204.66 0.43268   2.895 0.5363  0.001 ***
Residuals 1184    176.96 0.14946         0.4637           
Total     1657    381.61                 1.0000           
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Differences by country stratified by age
             week         R2     p   n
1  week of life 1 0.09855442 0.001 429
2  week of life 4 0.10665922 0.001 421
3  week of life 6 0.08819497 0.001 410
4 week of life 10 0.11127149 0.001 398
5          mother 0.17832746 0.001 428

Summary plot

Turnover, paired vs random (weighted)

For week 1, distance from maternal sample plotted. For subsequent samples, distance from prior infant sample plotted.

Turnover, paired vs random (unweighted)

Longitudinal samples from a given infant more closely clustered than expected by chance in each of the three cohorts.

Differential taxa

Column

Genus-level

Cross-validation accuracy, India vs Malawi vs UK

Pre-vaccination comparisons

Differential abundance plots - significant by Fisher’s test or Aldex2 (FDR p <0.05)

Longitudinal abundance comparisons

Column

Genus-level

India vs UK

Number of genera tested: 31
Number of discriminant genera (FDR p < 0.05): 20 (India = 10; UK = 10) Failed to converge: 0

India vs Malawi

Number of genera tested: 43
Number of discriminant genera (FDR p < 0.05): 22 (India = 6; Malawi = 16) Failed to converge: 0

Malawi vs UK

Number of genera tested: 45
Number of discriminant genera (FDR p < 0.05): 29 (Malawi = 22; UK = 7) Failed to converge: 0

Construct tree

Longitudinal abundance plots for major genera

Session info

R version 3.6.1 (2019-07-05)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS  10.16

Matrix products: default
BLAS:   /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.6/Resources/lib/libRlapack.dylib

locale:
[1] en_GB.UTF-8/en_GB.UTF-8/en_GB.UTF-8/C/en_GB.UTF-8/en_GB.UTF-8

attached base packages:
[1] parallel  stats4    stats     graphics  grDevices utils     datasets 
[8] methods   base     

other attached packages:
 [1] FSA_0.9.0                   ALDEx2_1.18.0              
 [3] sjstats_0.18.0              ggExtra_0.9                
 [5] formattable_0.2.0.1         NBZIMM_1.0                 
 [7] inlmisc_0.5.2               decontam_1.6.0             
 [9] ggtree_2.0.4                wesanderson_0.3.6          
[11] phangorn_2.5.5              ape_5.4-1                  
[13] DECIPHER_2.14.0             RSQLite_2.2.1              
[15] Biostrings_2.54.0           XVector_0.26.0             
[17] cowplot_1.1.0               scales_1.1.1               
[19] RVAideMemoire_0.9-78        DescTools_0.99.38          
[21] ggsignif_0.6.0              binom_1.1-1                
[23] shiny_1.5.0                 randomcoloR_1.1.0.1        
[25] DESeq2_1.26.0               SummarizedExperiment_1.16.1
[27] DelayedArray_0.12.3         BiocParallel_1.20.1        
[29] Biobase_2.46.0              GenomicRanges_1.38.0       
[31] GenomeInfoDb_1.22.1         IRanges_2.20.2             
[33] S4Vectors_0.24.4            BiocGenerics_0.32.0        
[35] crossval_1.0.3              UpSetR_1.4.0               
[37] labdsv_2.0-1                mgcv_1.8-33                
[39] nlme_3.1-149                ggpubr_0.4.0               
[41] data.table_1.12.8           corrplot_0.84              
[43] ZIBR_0.1                    vegan_2.5-6                
[45] lattice_0.20-41             permute_0.9-5              
[47] randomForest_4.6-14         matrixStats_0.57.0         
[49] lme4_1.1-23                 Matrix_1.2-18              
[51] reshape2_1.4.4              pheatmap_1.0.12            
[53] DT_0.16                     plotly_4.9.3               
[55] cluster_2.1.0               tidyr_1.1.2                
[57] dplyr_1.0.2                 magrittr_1.5               
[59] plyr_1.8.6                  kableExtra_1.2.1           
[61] gridExtra_2.3               RColorBrewer_1.1-2         
[63] knitr_1.30                  ggplot2_3.3.2              
[65] phyloseq_1.30.0            

loaded via a namespace (and not attached):
  [1] estimability_1.3       coda_0.19-4            bit64_4.0.5           
  [4] rpart_4.1-15           RCurl_1.98-1.2         generics_0.0.2        
  [7] bit_4.0.4              webshot_0.5.2          xml2_1.3.2            
 [10] httpuv_1.5.4           xfun_0.18              hms_0.5.3             
 [13] evaluate_0.14          promises_1.1.1         readxl_1.3.1          
 [16] igraph_1.2.6           DBI_1.1.0              geneplotter_1.64.0    
 [19] htmlwidgets_1.5.3      purrr_0.3.4            ellipsis_0.3.1        
 [22] backports_1.1.10       V8_3.2.0               insight_0.9.6         
 [25] annotate_1.64.0        vctrs_0.3.4            sjlabelled_1.1.7      
 [28] abind_1.4-5            withr_2.3.0            checkmate_2.0.0       
 [31] rgdal_1.5-18           emmeans_1.5.1          treeio_1.10.0         
 [34] lazyeval_0.2.2         crayon_1.3.4           flexdashboard_0.5.2   
 [37] genefilter_1.68.0      labeling_0.3           pkgconfig_2.0.3       
 [40] nnet_7.3-14            rlang_0.4.8            lifecycle_0.2.0       
 [43] miniUI_0.1.1.1         modelr_0.1.8           cellranger_1.1.0      
 [46] raster_3.3-13          carData_3.0-4          Rhdf5lib_1.8.0        
 [49] boot_1.3-25            base64enc_0.1-3        png_0.1-7             
 [52] viridisLite_0.3.0      parameters_0.8.6       rootSolve_1.8.2.1     
 [55] bitops_1.0-6           blob_1.2.1             stringr_1.4.0         
 [58] jpeg_0.1-8.1           rstatix_0.6.0          memoise_1.1.0         
 [61] zlibbioc_1.32.0        compiler_3.6.1         ade4_1.7-15           
 [64] htmlTable_2.1.0        Formula_1.2-4          MASS_7.3-53           
 [67] tidyselect_1.1.0       stringi_1.5.3          forcats_0.5.0         
 [70] yaml_2.2.1             locfit_1.5-9.4         latticeExtra_0.6-29   
 [73] grid_3.6.1             fastmatch_1.1-0        tools_3.6.1           
 [76] lmom_2.8               rio_0.5.16             rstudioapi_0.11       
 [79] foreach_1.5.1          foreign_0.8-71         gld_2.6.2             
 [82] farver_2.0.3           Rtsne_0.15             digest_0.6.25         
 [85] rvcheck_0.1.8          BiocManager_1.30.10    quadprog_1.5-8        
 [88] Rcpp_1.0.5             car_3.0-10             broom_0.7.1           
 [91] performance_0.5.0      later_1.1.0.1          httr_1.4.2            
 [94] AnnotationDbi_1.48.0   effectsize_0.3.3       colorspace_1.4-1      
 [97] rvest_0.3.6            XML_3.99-0.3           splines_3.6.1         
[100] statmod_1.4.34         tidytree_0.3.3         expm_0.999-5          
[103] sp_1.4-4               multtest_2.42.0        Exact_2.1             
[106] xtable_1.8-4           jsonlite_1.7.1         nloptr_1.2.2.2        
[109] R6_2.4.1               Hmisc_4.4-1            pillar_1.4.6          
[112] htmltools_0.5.0        mime_0.9               glue_1.4.2            
[115] fastmap_1.0.1          minqa_1.2.4            class_7.3-17          
[118] codetools_0.2-17       mvtnorm_1.1-1          tibble_3.0.4          
[121] curl_4.3               zip_2.1.1              openxlsx_4.2.2        
[124] survival_3.2-7         rmarkdown_2.4          biomformat_1.14.0     
[127] munsell_0.5.0          e1071_1.7-4            rhdf5_2.30.1          
[130] GenomeInfoDbData_1.2.2 iterators_1.0.13       sjmisc_2.8.5          
[133] haven_2.3.1            gtable_0.3.0           bayestestR_0.7.2      

.